import request from '@/config/axios'
import type { Dayjs } from 'dayjs'

/** 信标定位数据表信息 */
export interface DeviceBeaconData {
  id: number // 编号
  kidbandImei: string // 手环imei号
  imei?: string // 序列号
  macCode?: string // MAC地址
  majorCode?: string // 主标识
  minorCode?: string // 子标识
  schoolCode?: string // 所属园区
  classId: number // 班级ID
  studentId?: number // 学生ID
  studentName: string // 学生姓名
  locationName?: string // 信标位置名称
  locationType?: string // 位置类型
  locationTime?: string | Dayjs // 定位时间
  duration: number //停留时长
  rssi: number // 信号强度值
  sort?: number // 排序
  status?: number // 状态
}

// 信标定位数据表 API
export const DeviceBeaconDataApi = {
  // 查询信标定位数据表分页
  getDeviceBeaconDataPage: async (params: any) => {
    return await request.get({ url: `/school/device-beacon-data/page`, params })
  },

  // 查询信标定位数据表详情
  getDeviceBeaconData: async (id: number) => {
    return await request.get({ url: `/school/device-beacon-data/get?id=` + id })
  },

  // 新增信标定位数据表
  createDeviceBeaconData: async (data: DeviceBeaconData) => {
    return await request.post({ url: `/school/device-beacon-data/create`, data })
  },

  // 修改信标定位数据表
  updateDeviceBeaconData: async (data: DeviceBeaconData) => {
    return await request.put({ url: `/school/device-beacon-data/update`, data })
  },

  // 删除信标定位数据表
  deleteDeviceBeaconData: async (id: number) => {
    return await request.delete({ url: `/school/device-beacon-data/delete?id=` + id })
  },

  /** 批量删除信标定位数据表 */
  deleteDeviceBeaconDataList: async (ids: number[]) => {
    return await request.delete({
      url: `/school/device-beacon-data/delete-list?ids=${ids.join(',')}`
    })
  },

  // 导出信标定位数据表 Excel
  exportDeviceBeaconData: async (params) => {
    return await request.download({ url: `/school/device-beacon-data/export-excel`, params })
  }
}
